Software Architecture in Practice by Len Bass & Paul Clements & Rick Kazman

Software Architecture in Practice by Len Bass & Paul Clements & Rick Kazman

Author:Len Bass & Paul Clements & Rick Kazman [Bass, Len & Clements, Paul & Kazman, Rick]
Language: eng
Format: epub, pdf
ISBN: 9780136886099
Google: y-AgzgEACAAJ
Publisher: Addison Wesley
Published: 2021-08-03T00:31:34.312551+00:00


The Protocol Buffer technology originated at Google and was used internally for several years before being released as open source in 2008. Like JSON, Protocol Buffers use data types that are close to programming-language data types, making serialization and deserialization efficient. As with XML, Protocol Buffer messages have a schema that defines a valid structure, and that schema can specify both required and optional elements and nested elements. However, unlike both XML and JSON, Protocol Buffers are a binary format, so they are extremely compact and use memory and network bandwidth resources quite efficiently. In this respect, Protocol Buffers harken back to a much earlier binary representation called Abstract Syntax Notation One (ASN.1), which originated in the early 1980s when network bandwidth was a precious resource and no bit could be wasted.

The Protocol Buffers open source project provides code generators to allow easy use of Protocol Buffers with many programming languages. You specify your message schema in a proto file, which is then compiled by a language-specific protocol buffer compiler. The procedures generated by the compilers will be used by an actor to serialize and by an element to deserialize the data.

As when using XML and JSON, the interacting elements may be written in different languages. Each element then uses the Protocol Buffer compiler specific to its language. Although Protocol Buffers can be used for any data-structuring purpose, they are mostly employed as part of the gRPC protocol.

Protocol Buffers are specified using an interface description language. Since they are compiled by language-specific compilers, the specification is necessary to ensure correct behavior of the interface. It also acts as documentation for the interfaces. Placing the interface specification in a database allows for searching it to see how values propagate through the various elements.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.